<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        // 一、every循环： 循环返还值 如果都是true 那么最终的结果就是true 否则就是false
        // 只要最终结果值获取到了，那么every循环就停止了；
        // var arr = [true, false, true, true, true];

        // var res = arr.every(function (item, key, arr) {
        //     console.log(item, key, arr);
        //     return item;
        // })

        // console.log("最终的结果是", res);


        // every 的简单实现 ；
        // var arr = [true, false, true, true, true];


        // function myEvery(arr,cb){
        //     var reslut = true;  // 最终的值；
        //     for(var i=0;i<arr.length;i++){  
        //         // var res = cb(arr[i],i,arr);  // 获取 cb的执行返还值；
        //         reslut = reslut && cb(arr[i],i,arr);
        //         // 如果reslut的值是false 那么 循环需要停止；
        //         if(!reslut){
        //             break; // 阻止剩余的所有循环的执行；
        //         }

        //     }
        //     return reslut;
        // }



        // var res = myEvery(arr,function (item, key, arr) {
        //     console.log(item, key, arr);
        //     return item;
        // })

        // console.log("最终的结果是", res);


        // 二、some 循环  ： 所有都为false的时候最终结果是false ，只要有一个true 那么最终的结果就是true；
        // 把所有的值 通过 || 进行连接；
        // 只要出现了true  那么 some循环就停止了；
        // var arr = [false,false,true,false,false,true,true];
        //  var res =  arr.some(function(item,key,arr){
        //     console.log(item,key,arr);
        //     return item;
        // })
        // console.log("最终的结果值是:",res);


        // 实现一个自己的some
        function mySome(arr,cb){
            var reslut = false;  // 最终的值；
            for(var i=0;i<arr.length;i++){  
                // var res = cb(arr[i],i,arr);  // 获取 cb的执行返还值；
                reslut = reslut || cb(arr[i],i,arr);
                // 如果reslut的值是false 那么 循环需要停止；
                if(reslut){
                    break; // 阻止剩余的所有循环的执行；
                }
            }
            return reslut;
        }


        var arr = [false,false,true,false,false,true,true];
         var res =  mySome(arr,function(item,key,arr){
            console.log(item,key,arr);
            return item;
        })
        console.log("最终的结果值是:",res);


        // every 用的多一些 ；
        // every 全选效果；
    </script>
</body>

</html>